﻿Imports System.ServiceModel
Imports AFS.Collab.MainEnumsAndTypes.MainTypesAndEnums
Imports AFS.Aspnet.Collaboration.Site.MandateAufstellung
Imports AFS.Aspnet.Collaboration.Site.GPSBilderDatenbank


' HINWEIS: Mit dem Befehl "Umbenennen" im Kontextmenü können Sie den Schnittstellennamen "IAFSForMetroService" sowohl im Code als auch in der Konfigurationsdatei ändern.
<ServiceContract()>
Public Interface IAFSForMetroService


#Region "mandate db new"

    <OperationContract()>
    Function RetrieveAllSaveMandate() As List(Of MandateAufstellung.MandateAnzahlen)

    <OperationContract()>
    Function DeleteMandatFromXML(ByVal id As String) As Boolean

    <OperationContract>
    Function AddNewMandate(ByVal a As List(Of MandateAufstellung.MandateAnzahlen)) As Boolean

    <OperationContract>
    Function AddNewMandat(ByVal a As MandateAufstellung.MandateAnzahlen) As Boolean


    <OperationContract>
    Sub EditMandat(ByVal Mandat As MandateAnzahlen)

    <OperationContract>
    Function ReadStatusFile() As String


    <OperationContract>
    Function SearchForMandate(ByVal datum As String, ByVal rayon As String, ByVal type As String) As List(Of MandateAnzahlen)

    <OperationContract>
    Function DeleteMandateByDates(ByVal dates As String)

    <OperationContract>
    Function CleareMandateTable() As Boolean
#End Region

#Region "metro notification"

    <OperationContract()>
    Function RegisterMetroStyleApp(ByVal appid As String, ByVal cid As String, ByVal clsecret As String) As Boolean

    <OperationContract>
    Function UnregisterMetroStyleApp(ByVal appid As String) As Boolean

    <OperationContract()>
    Function RegisterMetroOrPhoneApp(ByVal appid As String, ByVal typeofApp As enumTypeofApps, ByVal channel As String) As Boolean

    <OperationContract()>
    Function UnRegisterMetroOrPhoneApp(ByVal appid As String, ByVal typeofapp As enumTypeofApps) As Boolean

#End Region

#Region "Workday service addance"

    <OperationContract()>
    Function AddNewWorkDay(ByVal workday As ArbAuf.Arbeitsaufzeichnung) As Boolean

    <OperationContract()>
    Function DeleteWorkDay(ByVal id As String) As Boolean

    <OperationContract()>
    Function EditWorkDay(ByVal eWorkday As ArbAuf.Arbeitsaufzeichnung) As Boolean

    <OperationContract()>
    Function EnumerateWorkdayForMonth(ByVal MonthNumber As String) As List(Of ArbAuf.Arbeitsaufzeichnung)

    <OperationContract()>
    Function EnumerateAllWorkdays() As List(Of ArbAuf.Arbeitsaufzeichnung)


    <OperationContract>
    Function ClearWorkDayTable() As Boolean


#End Region

#Region "ArbeitsTypen service addance"
    <OperationContract>
    Function AddArbeitsType(ByVal typ As ArbAuf.Typen) As Boolean

    <OperationContract>
    Function EditArbeitType(ByVal type As ArbAuf.Typen) As Boolean

    <OperationContract>
    Function DeleteArbeitsType(ByVal type As ArbAuf.Typen) As Boolean

    <OperationContract>
    Function EnumerateArbeitsTypen() As List(Of ArbAuf.Typen)

    <OperationContract>
    Function ClearTypenTable() As Boolean
#End Region

#Region "GPSBilder"

    <OperationContract>
    Function AddGPSBild(ByVal typ As GpspIcturesTable) As Boolean

    <OperationContract>
    Function EditGPSBild(ByVal type As GpspIcturesTable) As Boolean

    <OperationContract>
    Function DeleteGPSBild(ByVal type As GpspIcturesTable) As Boolean

    <OperationContract>
    Function EnumerateGPSBild() As List(Of GpspIcturesTable)

    <OperationContract>
    Function EnumerateGPSBildByValues(ByVal Datum As String, ByVal Time As String) As List(Of GpspIcturesTable)

    <OperationContract>
    Function ClearGPSBilderTable() As Boolean

#End Region

#Region "common upload download db tasks"
    <OperationContract>
    Function UploadMandateDbToBackServerManual() As Boolean

    <OperationContract>
    Function DownloadMandateDbFromBackServerManual() As Boolean

    <OperationContract>
    Function UploadDBToBackServerManual() As Boolean

    <OperationContract>
    Function DownloadDbFromBackServerManual() As Boolean

#End Region
End Interface
